/*
 * IcmpSession.h
 *
 *  Created on: 15/08/2011
 *      Author: george
 */

#ifndef ICMPSESSION_H_
#define ICMPSESSION_H_

#include <netinet/in.h>
#include <fstream>
#include <string>

#include "../includes/types.h"


using namespace std;

class IcmpSession {
public:

//	Origem, destino e id da sessão ICMP
	struct in_addr src, dst;
	std::string srcaddr, dstaddr;
	u_int16_t id;

//	Arquivo para armazenar os cabeçalhos de todos os pacotes desta sessão
	std::ofstream packets;

//	Nome do arquivo onde estam armazenados os cabecalhos dos pacotes icmp
	std::string filename;

//	Construtor e destrutor
	IcmpSession(struct in_addr src, struct in_addr dst, u_int16_t id);
	~IcmpSession();
	bool add(icmp_hdr_t *p);

};

#endif /* ICMPSESSION_H_ */
